package com.ruoyi.business.service;

import java.util.List;

import com.ruoyi.business.domain.LocationInfo;
import com.ruoyi.business.domain.NumberManagement;
import com.ruoyi.business.domain.TextReader;

/**
 * 位置信息Service接口
 *
 * @author yangmeng
 * @date 2023-06-09
 */
public interface ILocationInfoService {
    /**
     * 查询位置信息
     *
     * @param locationId 位置信息主键
     * @return 位置信息
     */
    public LocationInfo selectLocationInfoByLocationId(Long locationId);

    /**
     * 查询位置信息列表
     *
     * @param locationInfo 位置信息
     * @return 位置信息集合
     */
    public List<LocationInfo> selectLocationInfoList(LocationInfo locationInfo);

    /**
     * 新增位置信息
     *
     * @param locationInfo 位置信息
     * @return 结果
     */
    public List<LocationInfo> insertLocationInfo(LocationInfo locationInfo);

    /**
     * 修改位置信息
     *
     * @param locationInfo 位置信息
     * @return 结果
     */
    public List<LocationInfo> updateLocationInfo(LocationInfo locationInfo);

    /**
     * 批量删除位置信息
     *
     * @param locationIds 需要删除的位置信息主键集合
     * @return 结果
     */
    public int deleteLocationInfoByLocationIds(Long[] locationIds);

    /**
     * 删除位置信息信息
     *
     * @param locationId 位置信息主键
     * @return 结果
     */
    public int deleteLocationInfoByLocationId(Long locationId);

    /**
     * limit查询
     *
     * @param numberId
     * @return
     */
    LocationInfo selectLocationInfoByNumberId(Long numberId);

    /**
     * 组串编号
     *
     * @param textReaderList 坐标点集合
     * @param locationInfo   父级对象
     */
    void seriesNumber(List<TextReader> textReaderList, LocationInfo locationInfo);

    /**
     * 组件编号
     *
     * @param textReaderList 坐标点集合
     * @param locationInfo   组串对象
     */
    void assemblyNumber(List<TextReader> textReaderList, LocationInfo locationInfo);

    void numberType1(List<TextReader> textReaderList, String key, NumberManagement numberManagement);

    TextReader[][] calcGPS(Integer col, Integer row, List<TextReader> textReaderList);
}
